const TictactoeAI = {
  getBestPos(side_symbol, t_map) {
    for (let x = 0; x < 3; x++) {
      if (t_map[x][0] !== '' && t_map[x][0] === t_map[x][1] && t_map[x][2] === '') {
        return { x, y: 2 };
      } else if (t_map[x][0] !== '' && t_map[x][0] === t_map[x][2] && t_map[x][1] === '') {
        return { x, y: 1 };
      } else if (t_map[x][1] !== '' && t_map[x][1] === t_map[x][2] && t_map[x][0] === '') {
        return { x, y: 0 };
      }
    }

    for (let y = 0; y < 3; y++) {
      if (t_map[0][y] !== '' && t_map[0][y] === t_map[1][y] && t_map[2][y] === '') {
        return { x: 2, y };
      } else if (t_map[0][y] !== '' && t_map[0][y] === t_map[2][y] && t_map[1][y] === '') {
        return { x: 1, y };
      } else if (t_map[1][y] !== '' && t_map[1][y] === t_map[2][y] && t_map[0][y] === '') {
        return { x: 0, y };
      }
    }

    if (t_map[0][0] !== '' && t_map[0][0] === t_map[1][1] && t_map[2][2] === '') {
      return { x: 2, y: 2 };
    } else if (t_map[0][0] !== '' && t_map[0][0] === t_map[2][2] && t_map[1][1] === '') {
      return { x: 1, y: 1 };
    } else if (t_map[1][1] !== '' && t_map[1][1] === t_map[2][2] && t_map[0][0] === '') {
      return { x: 0, y: 0 };
    } else if (t_map[2][0] !== '' && t_map[2][0] === t_map[1][1] && t_map[0][2] === '') {
      return { x: 0, y: 2 };
    } else if (t_map[2][0] !== '' && t_map[2][0] === t_map[0][2] && t_map[1][1] === '') {
      return { x: 1, y: 1 };
    } else if (t_map[1][1] !== '' && t_map[1][1] === t_map[0][2] && t_map[2][0] === '') {
      return { x: 2, y: 0 };
    }

    for (const pos of [
      { x: 1, y: 1 },
      { x: 0, y: 0 },
      { x: 2, y: 0 },
      { x: 0, y: 2 },
      { x: 2, y: 2 },
      { x: 0, y: 1 },
      { x: 1, y: 0 },
      { x: 1, y: 2 },
      { x: 2, y: 1 },
    ]) {
      if (t_map[pos.x][pos.y] === '') {
        return pos;
      }
    }

    for (let x = 0; x < 3; x++) {
      for (let y = 0; y < 3; y++) {
        if (t_map[x][y] === '') {
          return { x, y };
        }
      }
    }

    return;
  }
};

export default TictactoeAI;
